﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
using MGI.AccesoDatos;
using ComunesMGI.DataTypes;

namespace MGI.Logica
{
    /// <summary>
    /// manejador de usuarios
    /// </summary>
    class MgrUsuarios
    {

        #region Singleton
        /// <summary>
        /// implementación de singleton para el manejador de usuarios
        /// </summary>
        static private MgrUsuarios _instance;

        /// <summary>
        /// implementación de singleton para el manejador de usuarios
        /// retorna una instancia del manejador
        /// </summary>
        /// <returns>MgrUsuarios</returns>
        static public MgrUsuarios GetInstance()
        {
            if (_instance == null)
            {
                _instance = new MgrUsuarios();
            }
            return _instance;
        }

        #endregion



        public List<DataUsuario> GetUsuarios()
        {
            AccesoDatosFactory accesoDatos = AccesoDatosFactory.GetInstance();
            IDatosUsuarios datosUsuarios = accesoDatos.GetIDatosUsuarios();
            return datosUsuarios.GetUsuarios();
        }

        public bool EnviarMailAsignarTarea(string mail, DataUsuario usuario, DataTarea tarea, int idIncidente)
        {
            String subjet = "Se le ha asignado la tarea " + tarea.IdTarea;
            String body = "Se le ha asignado la tarea " + tarea.IdTarea +
                          "\nDescripción: " + tarea.Descripcion;
            MGIMail.SendMail(mail, subjet, body);
            return true;
        }
    }
}
